Wireless telecommunication networks and other types of networks (e.g., the Internet) have made a wide variety of services available to users. Examples of such services may include social networking services, banking services, communication services (e.g., email, instant messaging, and video calls), etc. Such services are often available to users via an application (also referred to herein as “app”) or another type of software that may be downloaded and/or installed onto a user device, such as a smartphone, a laptop computer, a desktop computer, etc.
A pervasive concern in providing such services is ensuring that applications installed on a user device are safe from being controlled or influenced by unauthorized software programs (e.g., malware, spyware, etc.). For instance, an application that is downloaded and installed onto a user device may include a compromised version of the application. The compromised application may include instructions that cause the user device to perform one or more operations that were not intended by the original developers of the application. Examples of such operations may include covertly harvesting personal or otherwise sensitive information and transmitting the information to a clandestine application server or another type of network device.
Depending on the scenario, the covert or unintended operations may become part of the application in a number of ways. For example, the application may have been developed using an integrated development environment (IDE) that (unbeknownst to the developer) introduced malware, spyware, or other types of unwanted software into the application during the development process. As another example, after an application becomes available to download and install, an unauthorized individual (such as a so-called hacker) may obtain the source code of the application by downloading and decompiling an official version of the application. The individual may then introduce new functions or operations into the source code and/or modify existing source code functions or operations. The compromised application may then be uploaded to an app server that may include a virtual store, library, or other platform that may enable users to download and install the compromised application.